-
Notifications
You must be signed in to change notification settings - Fork 382
Make Podman support more prominent in the documentation #1471
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
and add note about DOCKER_HOST environment variable.
a9434d3
to
a0e43fc
Compare
for more information, see https://pre-commit.ci
Please correct me if I got something wrong. Before #1402, After #1402, Regarding container technology, the big players are
Podman keeps some level of compatibility with Docker. As far as I know, Singularity / Apptainer are incompatible with Docker. My first question is, should If the answer is "yes", a follow up question is what would be the road map for |
My understanding was that podman was supported as long as it the engine backed by the docker cli (e.g. I use colima, not docker engine), but podman cli is not supported first-class in this package. Is that accurate, @manics? I agree generally that pointing most language to OCI terms is good, but I don't know what commitment we are making in terms of cli compatibility assumptions. |
Originally repo2docker should've worked fine with Podman when run as a service since podman has a docker compatible API:
After #1402 we're now using the Docker CLI. In general the Podman CLI should be compatible, but I haven't looked at how good |
If we've got tests running that verify it (to a reasonable degree), I'm happy to make the support official. |
After
most of the tests using Podman fails. One of the tests fails in repo2docker/repo2docker/app.py Lines 633 to 634 in 358888c
@manics do you know what might be happening? |
In 48e9243, tests with Podman were failing because Podman's service was not activate. This was fixed in 4e7ed9e and documented in ef36a9c. Test of repo2docker/repo2docker/app.py Lines 632 to 634 in 358888c
import docker
a = docker.APIClient(base_url="unix:///run/user/1000/podman/podman.sock")
i = a.inspect_image("docker.io/library/httpd:latest")
i.config that returns
but I can access the information using i["Config"]["WorkingDir"] I tested the import docker
a = docker.APIClient(base_url="unix:///run/user/1000/podman/podman.sock")
i = a.inspect_image("docker.io/library/httpd:latest")
i["Config"]["WorkingDir"] with Docker and it works. |
edc9992
to
e461156
Compare
e461156
to
b3dea2d
Compare
A few tests are failing.
|
if self.volumes: | |
image = client.inspect_image(self.output_image_spec) | |
image_workdir = image.config["WorkingDir"] |
client
was APIClient
when, in fact, the client
is DockerEngine
.
DockerEngine
's inspect_image
looks OK but there are cases where docker image inspect
and podman image inspect
produce different outputs.
I will try to investigate this upstream. I asked containers/podman#27313.
buildx
support
-
tests/unit/test_app.py::test_extra_buildx_build_args
-
tests/unit/test_connect_url.py::test_connect_url
-
tests/unit/test_editable.py::test_editable
-
tests/unit/test_editable.py::test_editable_by_host
-
tests/unit/test_users.py::test_user
-
tests/unit/test_volumes.py::test_volume_abspath
-
tests/unit/test_volumes.py::test_volume_relpath
in test (24.04, 3.13, podman, unit)
.
My suspicious is that the test fails because of some "obscure" difference between Podman and Docker.
By